package org.merak.core.text.template;

import java.util.HashMap;
import java.util.Map;

public class TemplateMap {

	//~ Attributes ///////////////////////////////////////////////////////////////
	//****************************************************************************
	private Map<Class<?>,TemplateObject> map = new HashMap<Class<?>,TemplateObject>();
	
	//~ Methods //////////////////////////////////////////////////////////////////
	//****************************************************************************
	public synchronized TemplateObject get(Class<?> clazz) {

		TemplateObject template = map.get(clazz);
		if (template==null) {
			template = new TemplateFactory().createTemplate(clazz);
			map.put(clazz, template);
		}
		return template;
		
	}
	//****************************************************************************
	public synchronized void put(Class<?> clazz,TemplateObject template) {

		map.put(clazz, template);
		
	}	
	//****************************************************************************	
	
}
